home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
The World of Computer Software.iso
/
globcalc.zip
/
DEMO.CLA
< prev
next >
Wrap
Text File
|
1990-07-21
|
9KB
|
256 lines
demo PROGRAM
!!! Reliable Software Solutions
!!! Pete Halsted
!!! Copyright
!!! All Rights Reserved
!!! This Program is a Demo of A Pop-Up Calc Funtion
!!! For a Registered Copy of the Source Code and
!!! Free Technical Support Please send
!!! $10.00 to Pete Halsted
!!! Reliable Software Solutions
!!! Rt. 1 Box 4142
!!! Cropwell, AL 35054
!!! (205) 525-5373
!!!
!!! You may distribute this demo as long as it is not modified
!!! and all files are included
!!!
!!! GLOBCALC.CLA - Source for Demo
!!! GLOBCALC.PRO - Processor version of Demo
!!! F2_CHECK.CLA - Include file for checking Calc
!!! PUTKBRD.CLA - Keyboard buffer Program
!!! README.TXT - Document File
!!! CALC.HLP - Help File
!!!
INCLUDE('STD_KEYS.CLA')
INCLUDE('CTL_KEYS.CLA')
INCLUDE('ALT_KEYS.CLA')
INCLUDE('SHF_KEYS.CLA')
REJECT_KEY EQUATE(CTRL_ESC)
ACCEPT_KEY EQUATE(CTRL_ENTER)
TRUE EQUATE(1)
FALSE EQUATE(0)
MAP
PROC(main) !Global Pop-Up Calculator Demo
PROC(scr1) !Global Pop-Up Calculator Demo
PROC(Scr2)
Module('c:\temp\globcalc.cla')
PROC(calc)
.
.
ACTION SHORT !0 = NO ACTION
!1 = ADD RECORD
!2 = CHANGE RECORD
!3 = DELETE RECORD
!4 = LOOKUP FIELD
GROUP,PRE(MEM)
entry DECIMAL(5,0)
entry2 DECIMAL(9,2)
.
EJECT('CODE SECTION')
CODE
BLANK ! AND BLANK
HELP('CALC.HLP') !OPEN THE HELP FILE
main !Global Pop-Up Calculator Demo
RETURN !EXIT TO DOS
main PROCEDURE
SCREEN SCREEN PRE(SCR),WINDOW(25,80),HUE(7,0)
ROW(5,25) PAINT(11,33),HUE(15,4)
ROW(15,27) PAINT(3,29),HUE(15,4)
ROW(17,34) PAINT(3,14),HUE(15,4)
ROW(16,26) PAINT(1,1),HUE(8,0),TRN
ROW(18,28) PAINT(1,6),HUE(8,0),TRN
ROW(20,35) PAINT(1,13),HUE(8,0),TRN
ROW(18,48) PAINT(1,8),HUE(8,0),TRN
ROW(16,56) PAINT(3,1),HUE(8,0),TRN
ROW(16,57) PAINT(1,1),HUE(8,0),TRN
ROW(6,58) PAINT(11,1),HUE(8,0),TRN
ROW(1,1) REPEAT(4);STRING('▒{80}') .
ROW(5,1) STRING('▒{24}<0{33}>▒{23}')
ROW(6,1) REPEAT(10);STRING('▒{24}<0{34}>▒{22}') .
ROW(16,1) STRING('▒{25}<0{33}>▒{22}')
ROW(17,1) STRING('▒{26}<0{30}>▒{24}')
ROW(18,1) STRING('▒{27}<0{29}>▒{24}')
ROW(19,1) STRING('▒{33}<0{14}>▒{33}')
ROW(20,1) STRING('▒{34}<0{13}>▒{33}')
ROW(21,1) REPEAT(5);STRING('▒{80}') .
ROW(5,25) STRING('╔═{31}╗')
ROW(6,25) STRING('║<0{31}>║')
ROW(7,25) STRING('╠═{31}╣')
ROW(8,25) REPEAT(7);STRING('║<0{31}>║') .
ROW(15,25) STRING('╚═╦═{27}╦═╝')
ROW(16,27) STRING('║<0{27}>║')
ROW(17,27) STRING('╙─{6}╥─{12}╥─{7}╜')
ROW(18,34) STRING('║<0{12}>║')
ROW(19,34) STRING('╙─{12}╜')
ROW(6,58) REPEAT(10);STRING('▒') .
ROW(16,26) STRING('▒<0{29}>▒▒▒')
ROW(17,56) STRING('▒')
ROW(18,28) STRING('▒{6}<0{14}>▒{9}')
ROW(20,35) STRING('▒{13}')
ROW(6,27) STRING('Global Pop-Up Calculator Demo')
ROW(16,28) STRING('Relialbe Software Solutions')
ROW(18,35) STRING('Pete Halsted')
ENTRY,USE(?FIRST_FIELD)
ENTRY,USE(?PRE_MENU)
MENU,USE(MENU_FIELD"),REQ
ROW(9,37) STRING('Screen 1')
ROW(11,37) STRING('Screen 2')
ROW(13,39) STRING('Quit')
. .
EJECT
CODE
OPEN(SCREEN) !OPEN THE MENU SCREEN
SETCURSOR !TURN OFF ANY CURSOR
MENU_FIELD" = '' !START MENU WITH FIRST ITEM
LOOP !LOOP UNTIL USER EXITS
ALERT !TURN OFF ALL ALERTED KEYS
ALERT(REJECT_KEY) !ALERT SCREEN REJECT KEY
ALERT(ACCEPT_KEY) !ALERT SCREEN ACCEPT KEY
!!!!!!
ALERT(F2_KEY) !!! <-------- Alert Calculator Key
!!!!!!
ACCEPT !READ A FIELD OR MENU CHOICE
!!!!!!
INCLUDE('C:\Temp\F2_CHECK.CLA') !!! <----- If F2 then Call Calculator
!!!!!! ---- and if F10 fill in Value
IF KEYCODE() = REJECT_KEY THEN RETURN. !RETURN ON SCREEN REJECT
IF KEYCODE() = ACCEPT_KEY !ON SCREEN ACCEPT KEY
UPDATE ! MOVE ALL FIELDS FROM SCREEN
SELECT(?) ! START WITH CURRENT FIELD
SELECT ! EDIT ALL FIELDS
CYCLE ! GO TO TOP OF LOOP
. !
CASE FIELD() !JUMP TO FIELD EDIT ROUTINE
OF ?FIRST_FIELD !FROM THE FIRST FIELD
IF KEYCODE() = ESC_KEY THEN RETURN. ! RETURN ON ESC KEY
OF ?PRE_MENU !PRE MENU FIELD CONDITION
IF KEYCODE() = ESC_KEY ! BACKING UP?
SELECT(?-1) ! SELECT PREVIOUS FIELD
ELSE ! GOING FORWARD
SELECT(?+1) ! SELECT MENU FIELD
.
OF ?MENU_FIELD" !FROM THE MENU FIELD
EXECUTE CHOICE() ! CALL THE SELECTED PROCEDURE
scr1 ! Global Pop-Up Calculator Demo
Scr2 !
Return
. . .
scr1 PROCEDURE
SCREEN SCREEN PRE(SCR),WINDOW(10,47),HUE(0,3)
ROW(1,1) STRING('╔═{45}╗')
ROW(2,1) REPEAT(3),EVERY(2);STRING('║<0{45}>║') .
ROW(3,1) REPEAT(2),EVERY(5);STRING('╠═{45}╣') .
ROW(5,1) REPEAT(3),EVERY(2);STRING('║<0{45}>║') .
ROW(10,1) STRING('╚═{45}╝')
ROW(2,10) STRING('Global Pop-Up Calculator Demo')
ROW(5,14) STRING('Entry 1 :')
ROW(7,14) STRING('Entry 2 :')
ROW(9,16) STRING('F2 for Calculator')
ENTRY,USE(?FIRST_FIELD)
ROW(5,24) ENTRY(@n6),USE(MEM:entry),NUM,INS
ROW(7,24) ENTRY(@n11.2),USE(MEM:entry2),NUM,INS
ENTRY,USE(?LAST_FIELD)
.
EJECT
CODE
OPEN(SCREEN) !OPEN THE SCREEN
SETCURSOR !TURN OFF ANY CURSOR
DISPLAY !DISPLAY THE FIELDS
LOOP !LOOP THRU ALL THE FIELDS
ALERT !RESET ALERTED KEYS
ALERT(ACCEPT_KEY) !ALERT SCREEN ACCEPT KEY
ALERT(REJECT_KEY) !ALERT SCREEN REJECT KEY
!!!!!!
ALERT(F2_KEY) !!! <-------- Alert Calculator Key
!!!!!!
ACCEPT !READ A FIELD
!!!!!!
INCLUDE('C:\temp\F2_CHECK.CLA') !!! <----- If F2 then Call Calculator
!!!!!! ---- and if F10 fill in Value
IF KEYCODE() = REJECT_KEY THEN RETURN. !RETURN ON SCREEN REJECT KEY
IF KEYCODE() = ACCEPT_KEY !ON SCREEN ACCEPT KEY
UPDATE ! MOVE ALL FIELDS FROM SCREEN
SELECT(?) ! START WITH CURRENT FIELD
SELECT ! EDIT ALL FIELDS
CYCLE ! GO TO TOP OF LOOP
. !
CASE FIELD() !JUMP TO FIELD EDIT ROUTINE
OF ?FIRST_FIELD !FROM THE FIRST FIELD
IF KEYCODE() = ESC_KEY THEN RETURN. ! RETURN ON ESC KEY
OF ?LAST_FIELD !FROM THE LAST FIELD
ACTION = 0 ! SET ACTION TO COMPLETE
RETURN ! AND RETURN TO CALLER
. .
scr2 PROCEDURE
SCREEN SCREEN PRE(SCR),WINDOW(10,47),HUE(0,3)
ROW(1,1) STRING('╔═{45}╗')
ROW(2,1) REPEAT(3),EVERY(2);STRING('║<0{45}>║') .
ROW(3,1) REPEAT(2),EVERY(5);STRING('╠═{45}╣') .
ROW(5,1) REPEAT(3),EVERY(2);STRING('║<0{45}>║') .
ROW(10,1) STRING('╚═{45}╝')
ROW(2,10) STRING('Global Pop-Up Calculator Demo')
ROW(5,14) STRING('Entry 1 :')
ROW(7,14) STRING('Entry 2 :')
ROW(9,16) STRING('F2 for Calculator')
ENTRY,USE(?FIRST_FIELD)
ROW(5,24) ENTRY(@n6),USE(MEM:entry),NUM,INS
ROW(7,24) ENTRY(@n11.2),USE(MEM:entry2),NUM,INS
ENTRY,USE(?LAST_FIELD)
.
EJECT
CODE
OPEN(SCREEN) !OPEN THE SCREEN
SETCURSOR !TURN OFF ANY CURSOR
DISPLAY !DISPLAY THE FIELDS
LOOP !LOOP THRU ALL THE FIELDS
ALERT !RESET ALERTED KEYS
ALERT(ACCEPT_KEY) !ALERT SCREEN ACCEPT KEY
ALERT(REJECT_KEY) !ALERT SCREEN REJECT KEY
!!!!!!
ALERT(F2_KEY) !!! <-------- Alert Calculator Key
!!!!!!
ACCEPT !READ A FIELD
!!!!!!
INCLUDE('C:\temp\F2_CHECK.CLA') !!! <----- If F2 then Call Calculator
!!!!!! ---- and if F10 fill in Value
IF KEYCODE() = REJECT_KEY THEN RETURN. !RETURN ON SCREEN REJECT KEY
IF KEYCODE() = ACCEPT_KEY !ON SCREEN ACCEPT KEY
UPDATE ! MOVE ALL FIELDS FROM SCREEN
SELECT(?) ! START WITH CURRENT FIELD
SELECT ! EDIT ALL FIELDS
CYCLE ! GO TO TOP OF LOOP
. !
CASE FIELD() !JUMP TO FIELD EDIT ROUTINE
OF ?FIRST_FIELD !FROM THE FIRST FIELD
IF KEYCODE() = ESC_KEY THEN RETURN. ! RETURN ON ESC KEY
OF ?LAST_FIELD !FROM THE LAST FIELD
ACTION = 0 ! SET ACTION TO COMPLETE
RETURN ! AND RETURN TO CALLER
. .